﻿using LdtJudge.DataEngine.Model.CommModel;
using LdtJudge.DataEngine.Model.DataModel.DataParseStorage;
using LdtJudge.DataEngine.Model.EvidenceDerivation;
using LdtJudge.DataEngine.Model.EvidenceFact;
using LdtJudge.DataEngine.Model.OptimizationModel;
using LdtJudge.DataEngine.Model.XMLConfigModel.DataStores;
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace LdtJudge.DataEngine.DataBaseStores
{
    /// <summary>
    /// 案件优选动态数据
    /// </summary>
    public class DyData_Optimize:DyDataBase
    {

        /// <summary>
        /// 优选的案件要素结果
        /// </summary>
        public List<DataModel> AnalysisResultsDataModel { get; set; }
        ///<summary>
        /// 要素优选结果数据
        ///</summary> 
        public Dictionary<string, List<DataModel>> ElementOptimizationResults { get; set; }


        ///<summary>
        /// 合并后要素数据
        ///</summary> 
        public Dictionary<string, XmlDocument>  MergeElementXml { get; set; }

        /// <summary>
        /// 获取要素合并信息
        /// </summary>
        public Dictionary<string, List<DataModel>>  MergeElementDataList { get; set; }

        ///<summary>
        /// 优选数据结果
        ///</summary> 
        public XmlDocument OptimizationXml { get; set; }


        ///<summary>
        /// 优选后案由要素实体结果
        ///</summary> 
        public string OptimizeCauseEntityXml { get; set; }


        ///<summary>
        /// 优选结果对象集合
        ///</summary> 
        public List<DataModel> SourdatModleList { get; set; }

        /// <summary>
        /// 优选数据结果阶段
        /// </summary>
        public StageProcessModel StageProcessResultModel { get; set; }

        /// <summary>
        /// 证据要素与事实要素关系列表
        /// </summary>
        public List<EviFactElementRelationModel> EviFactElementRelations { get; set; }

        ///<summary>
        /// 分人员要素优选结果--上层传入
        ///</summary> 
        public List<DataModel> ElementAnalsisDataModelResults { get; set; }

        /// <summary>
        /// 合并后要素集合--上层传入
        /// </summary>
        public List<DataModel> MergeElmentDataModelList { get; set; }

        /// <summary>
        /// 事实要素合并
        /// </summary>
        public List<FactElementNodeCorredRecord> FactElementNodeCorredRecords { get; set; }

        /// <summary>
        /// 证据与事实要素关系列表
        /// </summary>
        public List<EvidenceFactRelationModel> EvidenceFactRelations { get; set; }

        /// <summary>
        /// 证据
        /// </summary>
        public List<EvidenctNodeRecord> EvidenctNodeRecords { get; set; }

    }
}
